(function(t, i) {
    var e = navigator.userAgent.toLowerCase().indexOf("msie 6") > -1;
    var o = i(t);
    var s = 1e3;
    var n = [];
    n.get = function() {
        if (n.length) {
            return n.shift()
        } else {
            return i('<div class="gui-modal"></div>')
        }
    };
    n.set = function(t) {
        n.push(t);
        return null
    };
    var a = [];
    a.get = function() {
        if (a.length) {
            return a.shift()
        } else {
            return i('<iframe src="about:blank"></iframe>')
        }
    };
    a.set = function(t) {
        a.push(t);
        return null
    };
    var d = function(t) {
        this.id = d.id++;
        this.options = t || {};
        this._events = {}
    };
    d.id = 0;
    d.prototype = {constructor: d, _render: function() {
            var t = this.options;
            var i = this.$modal;
            if (!i) {
                i = this.$modal = n.get()
            }
            i.css({width: o.width(), height: o.height(), position: "fixed", left: 0, top: 0, backgroundColor: t.backgroundColor || "#000", opacity: t.opacity || .2, display: "block", zIndex: t.zIndex || s});
            if (t.className) {
                this.$modal.removeClass().addClass(t.className)
            }
        }, _fixIE6: function() {
            var t = this.$modal;
            var i = this.$iframe;
            if (e) {
                t.css({position: "absolute"});
                o.on("scroll.modal_" + this.id, function() {
                    t.css({top: document.documentElement.scrollTop || document.body.scrollTop, left: document.documentElement.scrollLeft || document.body.scrollLeft})
                });
                if (!i) {
                    i = this.$iframe = a.get();
                    i.css({width: o.width(), height: o.height(), position: "absolute", left: 0, top: 0, opacity: 0, display: "block", zIndex: s});
                    o.on("resize.modal_" + this.id, function() {
                        i.css({width: o.width(), height: o.height()})
                    });
                    o.on("scroll.modal_" + this.id, function() {
                        i.css({top: document.documentElement.scrollTop || document.body.scrollTop})
                    })
                }
                i.appendTo(document.body)
            }
        }, _bindEvents: function() {
            var t = this.$modal;
            var i = this._events;
            var e = this;
            for (var s in i) {
                t.on(s, function() {
                    var t = i[s];
                    for (var o = 0, n; n = t[o++]; ) {
                        n.apply(e, arguments)
                    }
                })
            }
            o.on("resize.modal_" + this.id, function() {
                t.css({width: o.width(), height: o.height()})
            })
        }, _unbindEvents: function() {
            o.off(".modal_" + this.id);
            this.$modal && this.$modal.off();
            this.$iframe && this.$iframe.off()
        }, on: function(t, i) {
            var e = this._events[t];
            if (!e) {
                e = this._events[t] = []
            }
            e.push(i);
            return this
        }, off: function(t) {
            delete this._events[t];
            this.$modal.off.apply(this.$modal, arguments);
            return this
        }, show: function() {
            this._render();
            this._fixIE6();
            this.$modal.appendTo(document.body);
            this._bindEvents();
            i(this).trigger("modal.show");
            return this
        }, hide: function() {
            var t = this.$modal;
            var e = this.$iframe;
            this._unbindEvents();
            if (t) {
                this.$modal = n.set(t.remove())
            }
            if (e) {
                this.$iframe = a.set(e.remove())
            }
            i(this).trigger("modal.hide");
            return this
        }};
    i.gModal = function(t) {
        return new d(t)
    };
    i.fn.gModal = function(t) {
        var i = this.data("__gModal");
        if (typeof t == "object") {
            if (i) {
                i.options = t
            } else {
                i = new d(t);
                this.data("__gModal", i)
            }
            if (t.show === true) {
                i.show()
            } else if (t.show === false) {
                i.hide()
            }
        } else if (t === "show" || t === true) {
            if (!i) {
                i = new d(t);
                this.data("__gModal", i)
            }
            i.show()
        } else if (t === "hide" || t === false) {
            if (i) {
                i.hide();
                this.data("__gModal", null)
            }
        } else {
            if (!i) {
                i = new d(t);
                this.data("__gModal", i)
            }
            i.show()
        }
        return this
    }
})(window, jQuery);
(function(i, t) {
    var o = navigator.userAgent.toLowerCase().indexOf("msie 6") > -1;
    var s = t(i);
    var e = 1e3;
    var n = [];
    n.get = function() {
        if (n.length) {
            return n.shift()
        } else {
            return t("<div></div>")
        }
    };
    n.set = function(i) {
        n.push(i);
        return null
    };
    var h = function(i) {
        this.id = h.id++;
        this.options = i || {};
        this._events = {}
    };
    h.id = 0;
    h.prototype = {constructor: h, _render: function() {
            var i = this.options;
            var t = this.$dialog;
            if (!t) {
                t = this.$dialog = n.get()
            }
            t.css({position: "fixed", display: "block", zIndex: e});
            if (i.className) {
                this.$dialog.removeClass().addClass(i.className)
            }
        }, _setPosition: function() {
            var i = this.$dialog;
            if (!i) {
                return
            }
            if (o) {
                i.css({left: (document.documentElement.scrollLeft || document.body.scrollLeft) + (s.width() - i.width()) / 2, top: (document.documentElement.scrollTop || document.body.scrollTop) + (s.height() - i.height()) / 2})
            } else {
                i.css({left: (s.width() - i.width()) / 2, top: (s.height() - i.height()) / 2})
            }
        }, _fixIE6: function() {
            var i = this;
            var t = this.$dialog;
            if (o) {
                t.css({position: "absolute"});
                s.on("scroll.modal_" + this.id, function() {
                    i._setPosition()
                })
            }
        }, _bindEvents: function() {
            var i = this.$dialog;
            var t = this._events;
            var o = this;
            for (var e in t) {
                i.on(e, function() {
                    var i = t[e];
                    for (var s = 0, n; n = i[s++]; ) {
                        n.apply(o, arguments)
                    }
                })
            }
            s.on("resize.dialog_" + this.id, function() {
                o._setPosition()
            })
        }, _unbindEvents: function() {
            s.off(".dialog_" + this.id);
            this.$dialog && this.$dialog.off()
        }, on: function(i, t) {
            var o = this._events[i];
            if (!o) {
                o = this._events[i] = []
            }
            o.push(t);
            return this
        }, off: function(i) {
            delete this._events[i];
            this.$dialog.off.apply(this.$dialog, arguments);
            return this
        }, show: function() {
            if (this.options.modal) {
                this.options.modal.show = true;
                t(this).gModal(this.options.modal)
            }
            this._render();
            this._fixIE6();
            this.$dialog.appendTo(document.body).html(this.options.html);
            this._bindEvents();
            this._setPosition();
            t(this).trigger("dialog.show");
            return this
        }, hide: function() {
            if (this.options.modal) {
                t(this).gModal(false)
            }
            var i = this.$dialog;
            this._unbindEvents();
            if (i) {
                this.$dialog = n.set(i.remove())
            }
            t(this).trigger("dialog.hide");
            return this
        }};
    t.gDialog = function(i) {
        return new h(i)
    };
    t.fn.gDialog = function(i) {
        var t = this.data("_gdialog_");
        if (typeof i == "object") {
            if (t) {
                t.options = i
            } else {
                t = new h(i);
                this.data("_gdialog_", t)
            }
            if (i.show === true) {
                t.show()
            } else if (i.show === false) {
                t.hide()
            }
        } else if (i === "show" || i === true) {
            if (!t) {
                t = new h(i);
                this.data("_gdialog_", t)
            }
            t.show()
        } else if (i === "hide" || i === false) {
            if (t) {
                t.hide();
                this.data("_gdialog_", null)
            }
        } else {
            if (!t) {
                t = new h(i);
                this.data("_gdialog_", t)
            }
            t.show()
        }
    }
})(window, jQuery);
!function(n, t) {
    var r = 700;
    function e(n) {
        var t = [].slice.call(arguments, 1);
        return function() {
            var r = t.concat([].slice.call(arguments));
            return n.apply(this, r)
        }
    }
    function a(n, t) {
    }
    function u(n) {
        var t = {404: "您请求的资源找不到 状态码404", 0: "网络请求失败，请检查您的网络设置", 200: "json数据格式有误，请校验"};
        if (typeof panel == "object") {
        } else {
        }
    }
    function i(n, r, e, a) {
        return t.ajax({type: n, url: e, datatype: r, data: a})
    }
    function l(n, e, a, u) {
        if (a == null)
            a = "dbk" + r++;
        if (u == null)
            u = "callback";
        return t.ajax({url: n, dataType: "jsonp", type: "get", jsonp: u, jsonpName: a, data: e})
    }
    function o(n, t, r, e) {
        a("time", r);
        return i(n, t, r, e).fail(u).always(function() {
            a("timeEnd", r)
        })
    }
    function s(n, t, r, e) {
        a("time", n);
        return l(n, t, r, e).fail(u).always(function() {
            a("timeEnd", n)
        })
    }
    var c = e(o, "get", "json");
    var f = e(o, "post", "json");
    var p = function(n, t, r) {
        r = r || {};
        return c("/" + n + "/api/" + t, r)
    };
    var v = function(n, t, r) {
        return f("/" + n + "/api/" + t, r)
    };
    function m(n) {
        return function() {
            var t = [];
            for (var r = 0; r < arguments.length; r++)
                t.push(arguments[r][0]);
            n.apply(this, t)
        }
    }
    function g(n) {
        var r = [null, null, null];
        var e = [];
        for (var a = 1; a < arguments.length; a++) {
            e.push(arguments[a])
        }
        return function() {
            if (r[0] == null) {
                return n.apply(null, e).then(function(n, t, e) {
                    r[0] = n;
                    r[1] = t;
                    r[2] = e
                })
            } else {
                var a = t.Deferred();
                a.resolve(r[0], r[1], r[2]);
                return a.promise()
            }
        }
    }
    n.request = {parall: t.when, req: o, cachePromise: g, reqp: s, _req: i, _reqp: l, getJson: c, postJson: f, getApi: p, postApi: v, curry: e, res: m}
}(this, $);
(function(e) {
    function t() {
        return document.getElementsByTagName("head")[0]
    }
    function n(e, n) {
        var i = document.createElement("link");
        i.rel = "stylesheet";
        i.href = e;
        t().insertBefore(i, t().firstChild);
        if (i.attachEvent) {
            i.attachEvent("onload", function() {
                n(null, i)
            })
        } else {
            setTimeout(function() {
                o(i, n)
            }, 0)
        }
        function o(e, t) {
            var n = false;
            if (/webkit/i.test(navigator.userAgent)) {
                if (e["sheet"]) {
                    n = true
                }
            } else if (e["sheet"]) {
                try {
                    if (e["sheet"].cssRules) {
                        n = true
                    }
                } catch (i) {
                    if (i.code === 1e3) {
                        n = true
                    }
                }
            }
            if (n) {
                setTimeout(function() {
                    t(null, e)
                }, 1)
            } else {
                setTimeout(function() {
                    o(e, t)
                }, 10)
            }
        }
        i.onLoad = function() {
            n(null, i)
        }
    }
    function i(e, n) {
        var i = document.createElement("script");
        i.setAttribute("async", "async");
        var o;
        var a = "onload"in i;
        var r = a ? "onload" : "onreadystatechange";
        i[r] = function s() {
            if (!a && !o && /complete|loaded/.test(i.readyState)) {
                o = setTimeout(s);
                return
            }
            if (a || o) {
                clearTimeout(o);
                n(null, i)
            }
        };
        t().insertBefore(i, t().firstChild);
        i.src = e;
        i.onerror = function(e) {
            n(e)
        }
    }
    e.asyncLoadCSSJS = {loadCSS: n, loadJS: i}
})(this);
(function(e) {
    $page.cookieDomain = cookieDomain;
    function t() {
        if ($page.site == "home")
            return false;
        return true
    }
    function r() {
        if ($page.site == "home")
            return"红券/蓝券/店铺券";
        if ($page.site == "haiwaigou")
            return"店铺券";
        return"红券"
    }
    function n() {
        if ($page.site == "gomeVirtualCard")
            return false;
        return true
    }
    function o() {
        if ($page.site == "allowance")
            return false;
        if ($page.site == "gomeEntityCard")
            return false;
        if ($page.site == "gomeVirtualCard")
            return false;
        return true
    }
    function i(e) {
        if (e)
            return true;
        if ($page.site == "allowance")
            return true;
        return false
    }
    function a() {
        if ($page.site == "home")
            return false;
        if ($page.site == "allowance")
            return true;
        return true
    }
    function u() {
        if ($page.site == "haiwaigou")
            return true;
        if ($page.site == "allowance")
            return true;
        if ($page.site == "presell")
            return true;
        return false
    }
    function s() {
        return $page.site == "allowance"
    }
    function l(e, t) {
        t = (t || "").toString();
        return t.replace(/\{([^\}]+)\}/g, function(t, r) {
            result = e;
            matchArr = r.split(".");
            for (var n = 0, o; o = matchArr[n++]; ) {
                var i = o.split("|");
                if (i.length == 2) {
                    result = z[i[1]](result[i[0]])
                } else {
                    result = result[o]
                }
                if (result === null) {
                    return t
                }
            }
            return result
        })
    }
    function p(e, t) {
        if (typeof e !== "object")
            e = new Date(+e);
        var r = e.getMonth() + 1, n = e.getDate(), o = e.getHours(), i = e.getMinutes(), a = e.getSeconds();
        return t.replace(/yyyy/g, e.getFullYear()).replace(/yy/g, String(e.getFullYear()).substr(2, 2)).replace(/MM/g, r >= 10 ? r : "0" + r).replace(/M\*/g, r).replace(/dd/g, n >= 10 ? n : "0" + n).replace(/d\*/g, n).replace(/hh/g, o >= 10 ? o : "0" + o).replace(/h\*/g, o).replace(/m\*/g, i).replace(/mm/g, i >= 10 ? i : "0" + i).replace(/ss/g, a >= 10 ? a : "0" + a).replace(/s\*/g, a)
    }
    function f(e) {
        return p(new Date(e), "hh:mm")
    }
    function c(e) {
        return p(new Date(e), "yyyy-MM-dd hh:mm:ss")
    }
    function m(e) {
        return l(e, z.errorText[e.errCode] || e.errMsg)
    }
    function _(e, t) {
        return z.renderText(t, z.notice[e])
    }
    function g(e) {
        var t = "";
        if (e.type == "GOME_JIA_JIA_HUAN_GOU") {
            var r = util.filter(util.prop("selected"), e.jjhgCiVOs).length;
            e.jjhgNum = r;
            if (r)
                e.type = e.type + "_HG"
        }
        if (e.satisfied) {
            t = z.renderText(e, z.notice["C$" + e.type + "_SATISFIED"])
        } else {
            t = z.renderText(e, z.notice["C$" + e.type])
        }
        if (t)
            return t;
        return""
    }
    function h(e, t) {
        var r = z.renderText(t, z.notice["C$" + e]);
        if (r)
            return r;
        return""
    }
    function d(e) {
        if (e === null)
            return"";
        if (e === "")
            return"";
        return Number(e).toFixed(2)
    }
    function A(e) {
        var t = [];
        for (var r = 0; r < e.length; r++) {
            var n = e[r];
            t.push(d(n.faceValue) + "元" + z.labels[n.couponType] + "x" + n.quantity)
        }
        return"可返" + t.join(",")
    }
    function N(e) {
        if (e)
            return"您已换购了商品";
        return"您未换购商品"
    }
    function O(e) {
        var t = [];
        if (e.reduce && e.reduce != 0)
            t.push("已节省<span class='font-cursive'>¥</span>" + d(e.reduce));
        if (e.couponNum && e.couponNum != 0)
            t.push("返优惠券x" + e.couponNum);
        if (e.zpCount && e.zpCount != 0)
            t.push("赠品x" + e.zpCount);
        return t.join(" ， ")
    }
    function E() {
        if ($page.site == "home")
            return false;
        return true
    }
    function y(e, t) {
        if (e && e.length < t)
            return e;
        return e.substr(0, t) + "..."
    }
    function C(e) {
        if (e.op.vase == "FREEZED")
            return true;
        if (e.op.vase == "EXCEPTION")
            return true;
        if (e.op.currentPoint == 0)
            return true;
        return false
    }
    function M(e) {
        return!e.gd ? false : e.gd.canUseGomedos == 0 ? true : false
    }
    function $() {
        if ($page.site == "presell") {
            if (z.shoppingAtom.presell_tyzfdj) {
                return payment.isTailPhoneStatusDone(z.shoppingInstenceAtom.payment) == false
            }
            return true
        }
        return false
    }
    function G(e) {
        if (e == null)
            return"";
        var t = util.take(4, util.reverse(e));
        return util.take(3, e) + "****" + util.reverse(t)
    }
    function I(e) {
        if (e == null)
            return"";
        if (e.length < 5)
            return"****";
        var t = util.take(3, util.reverse(e));
        var r = e.length - 7;
        var n = e.substr(0, r);
        return n + "****" + util.reverse(t)
    }
    function D(e, t) {
        var r = z.labels["C$" + e];
        if (r)
            return r;
        return t
    }
    function P() {
        return $page.site == "gomeVirtualCard"
    }
    function S() {
        return $page.site == "gomeEntityCard"
    }
    function b() {
        return $page.site == "operator"
    }
    function U() {
        return $page.site == "haiwaigou"
    }
    function T() {
        return $page.site == "allowance"
    }
    function v() {
        return $page.site == "secondHand"
    }
    function H() {
        return $page.site == "gomeEntityCard"
    }
    function j() {
        return $page.site == "gomeVirtualCard"
    }
    function J() {
        return $page.site == "presell"
    }
    function w() {
        return $page.site == "warranty"
    }
    var R = {youhuiquan: function() {
            if (P())
                return false;
            if (S())
                return false;
            return true
        }, shiyongMD: function() {
            if (b())
                return false;
            if (U())
                return false;
            if (J())
                return false;
            if (T())
                return false;
            if (v())
                return false;
            if (w())
                return false;
            if (H())
                return false;
            if (j())
                return false;
            return true
        }, shiyongzhanghuyue: function() {
            if (U())
                return false;
            return true
        }, shiyongtuijianhao: function() {
            if (S())
                return false;
            if (P())
                return false;
            return true
        }, songhuorenxinxi: function() {
            if (P())
                return false;
            return true
        }, shiyongguomeiE: function() {
            if ($page.site == "home")
                return true;
            return false
        }, beizhu: function() {
            if (S())
                return false;
            return true
        }, youhuiquan2: function() {
            return R.youhuiquan()
        }};
    var F = {cart: "/", shopping: "/shopping", orderSuccess: "/order-success", authorization: "/haiwaigou/read/authorization", moblieActive: "http://myhome" + $page.cookieDomain + "/member/accountSecurity?atc=atc", discountUseRule: "http://help.gome.com.cn/article/279-0-0.html", electroniccouponsRule: "http://help.gome.com.cn/question/23.html", integralRule: "http://help.gome.com.cn/article/281-0-0.html", accountbalanceRule: "http://help.gome.com.cn/article/239-0-0.html", homeinstallation: "http://help.gome.com.cn/question/25.html", invoiceRule: "http://help.gome.com.cn/article/238-0-0.html", increaseticket: "http://myhome" + $page.cookieDomain + "/member/myInvoice", paymentpassword: "http://myhome" + $page.cookieDomain + "/member/accountSecurity?atc=atc", dispatchQuery: "http://help.gome.com.cn/question/9.html", imgcode: "http://imgcode" + $page.cookieDomain + "/getimage.no?type=gome_cart", imgCodeMTK: "http://imgcode" + $page.cookieDomain + "/getimage.no?type=gome_profile_center", forgetPassword: "http://myhome" + $page.cookieDomain + "/member/passwordReset"};
    var z = e.$config = {zIndex: {general: 10, mask: 100, dialog: 1e3}, URL: F, notice: {addressConfirm: "您的收货人信息已经超过20条，我们将替换您最早的一条收货信息！", GOME_DA_PEI_GOU: "搭配购优惠组合", GOME_MAN_ZHE: '已购满{preCount}件，<em class="fontRed">已减{reduce|formatAmount}元</em>', GOME_MAN_JIAN: '已购满{preCondition|formatAmount}元，<em class="fontRed">已减{reduce|formatAmount}元</em>', GOME_MAN_FAN: '已购满{preCondition|formatAmount}元，<em class="fontRed">下单{returnedCouponVOs|formatCoupon}</em>', GOME_MAN_ZHENG: "已购满{preCondition|formatAmount}元，您已经领取了赠品", GOME_JIA_JIA_HUAN_GOU: '已购满{preCondition|formatAmount}元&nbsp;&nbsp;<em class="fontRed">{hasSubs|jjhgtip}</em>', YHQ: "（" + r() + '/国美电器门店积分）<em class="squaer pr">{availableCouponNum}<i class="pabs c-i triangle_icon2">', fp_tip_2: "增值税发票在订单完成确认收货15个工作日后开具并邮寄。", fp_tip_0: "接到税务局通知，近期将取消提供纸质冠名发票，全部使用电子发票。", fp_tip_1: "电子发票是增值税电子普通发票的简称，是税局认可的有效凭证。<br/>其法律效力、基本用途、基本使用规定等与纸质普通发票相同，可作为用户报销、维权、保修的有效凭据。<br/>如您本次购买的商品暂未实现电子发票开具，我们将自动更换为纸质发票。", C$GOME_MAN_JIAN: "活动商品满{preCondition|formatAmount}元，即可享受满减", C$GOME_MAN_FAN: "活动商品满{preCondition|formatAmount}元，即可享受满返", C$GOME_MAN_ZHE: "活动商品满{preCondition}件，即可享受满折", C$GOME_MAN_ZENG: "", C$GOME_DA_PEI_GOU: "搭配购优惠组合", C$GOME_JIA_JIA_HUAN_GOU: "活动商品满{preCondition|formatAmount}元，即可享受换购", C$GOME_MAN_ZENG_SATISFIED: "", C$GOME_MAN_JIAN_SATISFIED: '活动商品已满{preCondition|formatAmount}元（<span style="color:#e6060e;">已减{postCondition|formatAmount}</span>）', C$GOME_MAN_FAN_SATISFIED: '活动商品已满{preCondition|formatAmount}元（<span style="color:#e6060e;">{returnedCouponVOs|formatCoupon}</span>）', C$GOME_MAN_ZHE_SATISFIED: '活动商品已满{preCondition}件（<span style="color:#e6060e;">已减{postCondition|formatAmount}元</span>）', C$GOME_JIA_JIA_HUAN_GOU_SATISFIED: '活动商品已满{preCondition|formatAmount}元（<span style="color:#e6060e;">可加价换购商品{maxNum}件</span>）', C$GOME_JIA_JIA_HUAN_GOU_HG_SATISFIED: '活动商品已满{preCondition|formatAmount}元（<span style="color:#e6060e;">已加价换购商品{jjhgNum}件</span>）', C$GOME_DA_PEI_GOU_SATISFIED: "搭配购优惠组合"}, labels: {"Gome Express": "国美快递", "Gome Picking Up": "门店自提", EMS: "EMS快递", Express: "普通快递", cash: "现金", pos: "pos刷卡", counter: "柜台", enterpriseBank: "企业银行", GOME_MAN_FAN: "满返", GOME_MAN_ZHE: "满折", GOME_MAN_JIAN: "满减", GOME_DA_PEI_GOU: "搭配购", GOME_MAN_ZHENG: "满赠", GOME_JIA_JIA_HUAN_GOU: "加价购", SOME_UP: "与上述商品付款方式一致", ZKP: "【折扣品】", ZP: "【赠品】", HGP: "【换购品】", WEEKDAY: "工作日送", ALL: "工作日、双休日与假日送", WEEKEND: "双休日、假日送", REDCOUPON: "红券", BLUECOUPON: "蓝券", SHOPCOUPON: "店铺券", POINT: "积分", PLATFORMCOUPON: "店铺平台券", SHI_WU: "实物", ON_THE_ROAD: "", NO_GOODS: '<span class="fontRed">无货</span>', INVENTORY_TENSION: '<span class="fontRed">库存紧张</span>', OFF: '<span class="fontRed">已下架</span>', IN_STOCK: "有货", DELIVERY_NOT_SUPPORTED: '<span class="fontRed">该区域暂不支持配送</span>', C$GOME_MAN_JIAN: "满减", C$NPOP_SHOP_MAN_JIAN: "满减", C$GOME_MAN_FAN: "满返", C$NPOP_SHOP_MAN_FAN: "满返", C$GOME_MAN_ZENG: "满赠", C$NPOP_SHOP_MAN_ZENG: "满赠", C$GOME_JIA_JIA_HUAN_GOU: "换购", C$NPOP_SHOP_JIA_JIA_HUAN_GOU: "加价购", C$GOME_MAN_ZHE: "满折", C$NPOP_SHOP_MAN_ZHE: "多买优惠", C$GOME_DA_PEI_GOU: "搭配购", C$NPOP_SHOP_GOUWUQUAN: "购物券", C$NPOP_KDP_MJ: "跨店铺满减", C$NPOP_KDP_MM: "跨店铺满免"}, renderNotice: _, renderCartNotice: h, renderCartPromtionNotice: g, renderText: l, renderError: m, formatLong: c, fromatDate: p, formathhmm: f, formatAmount: d, formatCoupon: A, defaultErrorText: "出错了", isDisableDZQ: E, isDisableSYGMZXJF: C, isOnlySite: t, backCardLink: o, isDisableSYGMZXMD: M, listOfitemTipVisible: n, jjhgtip: N, isDisabledDefaultAddress: i, isReadOnlyConsignee: s, shopTip: O, isDisabledMD: a, isDisabledJH: u, limitStr: y, pwdPhone: G, pwdTelphone: I, isGomeVirtualCardSite: P, isDisabledTJDD: $, renderCartLabel: D, VBLE: R, errorText: {"003018000": '为保障您的账户资金安全，请先 [<a target="_blank" href="' + F.moblieActive + '">验证手机号</a>]', f1: '<p style="color:#f00;">为了保障您的账户资金安全，此优惠暂不可用，请先&nbsp;&nbsp;&nbsp;<a target="_blank" href="' + F.paymentpassword + '">开启支付密码<span class="jt" style="padding-left:4px;">&gt;</span></a></p>'}, shoppingAtom: {yhj: "N", yhj_jh: "N", lq_more: "Y", dpq_more: "Y", dzq_more: "Y", hq_more: "Y", syjf: "N", sydzq: "N", sygmek: "N", syzhye: "N", sytjh: "N", yhj_bm: "", yhj_jhm: "", yhj_tip: "", yhj_yzm: "", yhj_img: new Date - 1, mdhyjf: null, dzqma: "", rygh: "", rygh_tip: "", yzm: "", yzm_pw: "", yzm_img: new Date - 0, yzm_tip: "", mdhyjf_tip: "", referrerInfo: null, presell_tyzfdj: false, deliveryPreSell: null, ecard_1: "", ecard_2: "", ecard_3: "", ecard_4: "", ecard_yzm: "", ecard_yzm_tip: ""}, shoppingAddressAtom: {more: "Y", scrollY: 0}, shoppingInstenceAtom: {address: null, payment: null, invoice: null, listOfItem: null, commitOrder: null, preferential: null}, cartAtom: {limitTip: null}}
})(this);
!function(n) {
    var r = {util: "placeholder"};
    function t(n) {
        var r = [];
        for (var t = 0; t < n.length; t++)
            r.push(n[t]);
        return r
    }
    function e(n, r) {
        switch (n) {
            case 0:
                return function() {
                    return r.apply(this, arguments)
                };
            case 1:
                return function(n) {
                    void n;
                    return r.apply(this, arguments)
                };
            case 2:
                return function(n, t) {
                    void t;
                    return r.apply(this, arguments)
                };
            case 3:
                return function(n, t, e) {
                    void e;
                    return r.apply(this, arguments)
                };
            case 4:
                return function(n, t, e, u) {
                    void u;
                    return r.apply(this, arguments)
                };
            case 5:
                return function(n, t, e, u, i) {
                    void i;
                    return r.apply(this, arguments)
                };
            case 6:
                return function(n, t, e, u, i, a) {
                    void a;
                    return r.apply(this, arguments)
                };
            case 7:
                return function(n, t, e, u, i, a, o) {
                    void o;
                    return r.apply(this, arguments)
                };
            case 8:
                return function(n, t, e, u, i, a, o, c) {
                    void c;
                    return r.apply(this, arguments)
                };
            case 9:
                return function(n, t, e, u, i, a, o, c, f) {
                    void f;
                    return r.apply(this, arguments)
                };
            case 10:
                return function(n, t, e, u, i, a, o, c, f, s) {
                    void s;
                    return r.apply(this, arguments)
                };
            default:
                throw new Error("First argument to arity must be a non-negative integer no greater than ten")
        }
    }
    function u(n, i) {
        return e(n, function() {
            var e = arguments.length;
            var a = n - e;
            var o = e;
            while (--o >= 0) {
                if (arguments[o] === r) {
                    a += 1
                }
            }
            if (a <= 0) {
                return i.apply(this, arguments)
            } else {
                var c = t(arguments);
                return u(a, function() {
                    var n = t(arguments);
                    var u = [];
                    var a = -1;
                    while (++a < e) {
                        var o = c[a];
                        u[a] = o === r ? n.shift() : o
                    }
                    return i.apply(this, u.concat(n))
                })
            }
        })
    }
    function i(n) {
        return u(n.length, n)
    }
    var a = i(function Br(n, r) {
        var t = [];
        for (var e = 0; e < r.length; e++)
            t.push(n(r[e]));
        return t
    });
    var o = i(function Gr(n, r, t) {
        var e = r;
        for (var u = 0; u < t.length; u++) {
            e = n(e, t[u])
        }
        return e
    });
    var c = i(function Nr(n, r, t) {
        var e = [];
        for (var u = 0; u < r.length; u++) {
            e.push(n(r[u], t[u]))
        }
        return e
    });
    function f(n) {
        return n == null ? null : n[0]
    }
    function s(n) {
        if (g(String, n))
            return s(n.split("")).join("");
        var r = [];
        for (var t = 1; t < n.length; t++)
            r.push(n[t]);
        return r
    }
    function l(n) {
        if (n == null)
            return null;
        return n[n.length - 1]
    }
    var v = i(function Dr(n, r) {
        if (g(String, r))
            return v(n, r.split("")).join("");
        var t = [];
        n = n < r.length ? n : r.length;
        for (var e = 0; e < n; e++) {
            t.push(r[e])
        }
        return t
    });
    var h = i(function Ir(n, r) {
        if (g(String, r))
            return Ir(n, r.split("")).join("");
        if (n <= 0)
            return r;
        return Ir(n - 1, s(r))
    });
    var p = function(n) {
        return v(n.length - 1, n)
    };
    var g = i(function Lr(n, r) {
        return r != null && r.constructor === n || r instanceof n
    });
    var d = i(function Vr(n, r, t) {
        return function(e) {
            if (n(e))
                return r(e);
            else
                return t(e)
        }
    });
    var m = function Wr(n) {
        return n === null || n === undefined
    };
    var y = i(function Hr(n, r) {
        return n === r
    });
    function b(n, r) {
        return n !== r
    }
    function k(n) {
        if (g(String, n)) {
            return k(n.split("")).join("")
        }
        var r = [];
        for (var t = n.length - 1; t >= 0; t--)
            r.push(n[t]);
        return r
    }
    function w() {
        var n = arguments;
        return function() {
            var r = t(arguments);
            var e = {diqye: "first"};
            return o(function(n, t) {
                return t.apply(null, n === e ? r : [n])
            }, e, n)
        }
    }
    function _(n) {
        return function() {
            return n
        }
    }
    var C = i(function Jr(n, r, t) {
        if (y(t[n], r)) {
            return t
        }
        var e = d(g(Array), _([]), _({}))(t);
        for (var u in t) {
            e[u] = t[u]
        }
        e[n] = r;
        return e
    });
    var x = i(function Kr(n, r) {
        if (r == null) {
            return
        } else {
            var t = r;
            for (var e = 0, u = n.length; e < u && t != null; e += 1) {
                t = t[n[e]]
            }
            return t
        }
    });
    var j = i(function Mr(n, r, t) {
        switch (n.length) {
            case 0:
                return t;
            case 1:
                return C(n[0], r, t);
            default:
                return C(n[0], j(s(n), r, Object(t[n[0]])), t)
        }
    });
    function P(n) {
        return function() {
            var r = -1;
            while (++r < n.length) {
                if (n[r][0].apply(this, arguments)) {
                    return n[r][1].apply(this, arguments)
                }
            }
        }
    }
    var S = i(function Qr(n, r) {
        n = n || [];
        r = r || [];
        var t;
        var e = n.length;
        var u = r.length;
        var i = [];
        t = -1;
        while (++t < e) {
            i[i.length] = n[t]
        }
        t = -1;
        while (++t < u) {
            i[i.length] = r[t]
        }
        return i
    });
    function q(n, r) {
        return function() {
            return n.apply(null, S(r, arguments))
        }
    }
    var T = i(function Rr(n, r) {
        var t = -1, e = r.length, u = [];
        while (++t < e) {
            if (n(r[t])) {
                u[u.length] = r[t]
            }
        }
        return u
    });
    var A = i(function Xr(n, r) {
        return f(T(n, r))
    });
    var O = i(function Yr(n, r) {
        for (var t = 0; t < r.length; t++) {
            if (n(r[t]))
                return t
        }
        return-1
    });
    function E(n) {
        return function() {
            return!n.apply(null, t(arguments))
        }
    }
    function F(n, r) {
        return T(E(n), r)
    }
    function U(n, r) {
        return r.split(n)
    }
    var z = i(function Zr(n, r) {
        return n.apply(null, r)
    });
    function B(n, r) {
        return o(function(n, t) {
            return S(n, a(t, r))
        }, [], n)
    }
    function G(n) {
        return[n]
    }
    var N = i(function nt(n, r) {
        if (L(n))
            return true;
        if (f(n)(r))
            return N(s(n), r);
        return false
    });
    var D = i(function rt(n, r) {
        if (L(n))
            return false;
        if (f(n)(r))
            return true;
        return D(s(n), r)
    });
    var I = i(function tt(n, r) {
        if (L(r))
            return true;
        if (n(f(r)))
            return I(n, s(r));
        return false
    });
    function L(n) {
        if (n == null)
            return false;
        if (n.length == 0)
            return true;
        if (n == "")
            return true;
        return false
    }
    function V(n) {
        return o(function(n, r) {
            return S(n, r)
        }, [], n)
    }
    function W(n, r) {
        if (L(r))
            return[];
        var t = f(r);
        var e = s(r);
        return V([W(n, T(q(n, [t]), e)), t, W(n, F(q(n, [t]), e))])
    }
    var H = i(function et(n, e) {
        return function() {
            var u = t(arguments);
            return z(n, a(z(r, u), e))
        }
    });
    var J = i(function ut(n, r) {
        n(r);
        return r
    });
    function K() {
        var n = arguments;
        return function(r) {
            return z(w, n)(r)
        }
    }
    function M(n) {
        var r = [];
        for (var t in n) {
            r[r.length] = [t, n[t]]
        }
        return r
    }
    function Q(n) {
        return n
    }
    function R(n) {
        var r = -1, t = n.length, e = {};
        while (++r < t) {
            e[n[r][0]] = n[r][1]
        }
        return e
    }
    var X = i(function it(n, r) {
        return x([n], r)
    });
    var Y = i(function at(n, r) {
        return n <= r
    });
    var Z = i(function ot(n, r) {
        return n >= r
    });
    var nr = i(function ct(n, t) {
        return a(z(r, [t]), n)
    });
    var rr = i(function ft(n) {
        return o(S, [], a(d(g(Array), rr, G), n))
    });
    function tr(n) {
        var r = false;
        var e = null;
        return function() {
            if (r)
                return e;
            var u = t(arguments);
            e = z(n, u);
            r = true;
            return e
        }
    }
    n.util = {__: r, once: tr, drop: h, lte: Y, juxt: nr, gte: Z, toArray: t, map: a, flatten: rr, reduce: o, pipe: w, ifn: d, when: d(r, r, _(null)), identity: Q, is: g, curry: i, head: f, tail: s, tap: J, isNil: m, allPass: N, anyPass: D, all: I, last: l, converge: H, eq: y, prop: X, zipWith: c, reverse: k, path: x, assoc: C, concat: S, isEmpty: L, assocPath: j, partial: q, always: _, split: i(U), filter: T, noteq: i(b), apply: z, ap: i(B), concats: V, reject: i(F), complemtent: E, of: G, cbkpipe: K, fromPairs: R, toPairs: M, take: v, init: p, cond: P, findIdx: O, T: _(true), F: _(false), find: A, sort: i(W)};
    n.util_watch = function() {
        var r = {};
        n.watchobj = r;
        var t = i(function(n, t, e) {
            if (r[n] == null)
                r[n] = {};
            var u = r[n];
            if (u[t] == null)
                u[t] = [];
            u[t].push(e)
        });
        var e = i(function(n, r, e) {
            e.__once = true;
            return t(n, r, e)
        });
        var u = i(function(n, r) {
            return w(a(S([n])), a(z(function(n, r, u) {
                var i = r.split("$");
                if (i[0] == "once")
                    return e(n, i[1], u);
                return t(n, r, u)
            })))(M(r))
        });
        var o = i(function(n, t, e) {
            if (r[n] == null)
                return;
            if (r[n][t] == null)
                return;
            r[n][t] = T(function(n) {
                n(e);
                if (n.__once)
                    return false;
                return true
            }, r[n][t])
        });
        return{watch: t, watchOnce: e, emit: o, watchDSL: u}
    }();
    function er(n) {
        var r = null;
        return function(t, e) {
            n.hover(function() {
                clearTimeout(r);
                t.show();
                if (e)
                    e()
            }, function() {
                r = setTimeout(function() {
                    t.hide()
                }, 500)
            })
        }
    }
    function ur(n, r) {
        er(n)(r(n))
    }
    function ir(n, r) {
        ur(n, function(n) {
            return n.find(r)
        })
    }
    function ar(n, r) {
        n.attr("value", r)
    }
    function or(n, r, t) {
        return t.attr(n, r)
    }
    function cr(n, r) {
        return r.addClass(n)
    }
    function fr(n, r) {
        return r.removeClass(n)
    }
    function sr(n, r) {
        return r.is(n)
    }
    function lr(n) {
        return n.show()
    }
    function vr(n) {
        return n.hide()
    }
    function hr(n, r) {
        return function() {
            r(n)
        }
    }
    function pr(n) {
        return function() {
            var r = $(this);
            n(r)
        }
    }
    function gr(n, r) {
        return r.find(n)
    }
    function dr(n, r) {
        return r.attr(n)
    }
    function mr(n, r) {
        return a(function(n) {
            return r.attr(n)
        }, n)
    }
    function yr(n, r, t) {
        return t.on("click", function() {
            if (t.find(".checkbox_chose,.checkboxs").is(".checkboxs")) {
                t.find(".checkbox_chose,.checkboxs").removeClass("checkboxs").addClass("checkbox_chose");
                n(t)
            } else if (t.find(".checkbox_chose,.checkboxs").is(".checkbox_chose")) {
                t.find(".checkbox_chose,.checkboxs").removeClass("checkbox_chose").addClass("checkboxs");
                r(t)
            }
        })
    }
    function br(n) {
        var r = n.attr("g-tip");
        var t = n.find("[g-tip-for=" + r + "]");
        if (t.size() == 0)
            t = n.siblings("[g-tip-for=" + r + "]");
        return n.hover(function() {
            t.show()
        }, function() {
            t.hide()
        })
    }
    function kr(n, r) {
        var t = r.find("[g-radio]");
        t.each(function() {
            var r = $(this);
            r.on("click", function() {
                t.find(".radio_chose,.radio").removeClass("radio_chose").addClass("radio");
                r.find(".radio_chose,.radio").removeClass("radio").addClass("radio_chose");
                n(r)
            })
        })
    }
    function wr(n, r) {
        var t = r.find("[g-btn]");
        t.on("click", function() {
            var r = $(this);
            t.removeClass("bd").addClass("bd1").find(".chose_icon").hide();
            r.removeClass("bd1").addClass("bd").find(".chose_icon").show();
            n(r)
        })
    }
    function _r() {
        return pr(w.apply(null, t(arguments)))
    }
    function Cr(n) {
        var r = {};
        var t = n.find("[name]");
        t.each(function() {
            var n = $(this);
            var t = n.attr("name");
            var e;
            if (n.is("input"))
                e = n.val();
            else
                e = n.attr("value");
            r[t] = e
        });
        return r
    }
    function xr(n) {
        return n.toggle()
    }
    function jr(n, r) {
        return r.toggleClass(n)
    }
    function $r(n) {
        return n.attr("g-value-path").split(",")
    }
    function Pr(n) {
        return n.attr("g-path").split(",")
    }
    function Sr(n) {
        return n.attr("g-value")
    }
    function qr(r, t, e) {
        var u = e[r] || n.util_ui[r];
        return z(u, t)
    }
    function Tr(n) {
    }
    function Ar(n, r) {
        function t(t, e) {
            var u = e.split(" ");
            var i = f(u);
            var o = a(function(r) {
                if (/^\[.*\]$/.test(r))
                    return n.find(r);
                if (r == "this")
                    return t;
                return r
            }, s(u));
            qr(i, o, r)
        }
        function e(n, r) {
            a(q(t, [r]), n.split(","))
        }
        n.find("[g-click]").on("click", function() {
            e($(this).attr("g-click"), $(this))
        });
        n.find("[g-keyup]").on("keyup", function() {
            e($(this).attr("g-keyup"), $(this))
        });
        return n
    }
    function Or(n, r) {
        return n.find("[g-pipe]").each(function() {
            Ar($(this), r)
        })
    }
    function Er(n, r, t, e) {
        clearTimeout(e);
        return setTimeout(function() {
            t = t == null ? [] : t;
            r.apply(null, t)
        }, n)
    }
    var Fr = T(function(n) {
        return n[1] != null && n[1] != ""
    });
    var Ur = w(M, Fr, R);
    function zr(n) {
        window.location.href = n
    }
    n.util_ui = {hoverUp: er, hoverUpBy: ur, hoverUpBySelector: i(ir), addClass: i(cr), removeClass: i(fr), show: lr, hide: vr, toggle: xr, attr: i(dr), attrs: i(mr), setVal: ar, jq: pr, is: i(sr), jqpipe: _r, documentclickhide: Tr, cbk: hr, gpath: Pr, gvaluePath: $r, gvalue: Sr, gtip: br, toggleClass: i(jr), gpipes: Or, gradioGp: i(kr), gbtnGp: i(wr), checkbox: i(yr), delay: i(Er), setAttr: i(or), find: i(gr), searForm: Cr, redir: zr, filterNullOrEmptyObj: Ur}
}(this);
(function(e) {
    if (e.browser.msie) {
        if (e.browser.version - 0 < 9) {
            e("body").addClass("ie678")
        }
    }
    var o = e(document);
    o.on("mousedown", function(o) {
        var r = e(o.target);
        if (r.is(".btn.btn-default")) {
            r.removeClass("mousedown").addClass("mousedown")
        }
    }).on("mouseup", function(o) {
        var r = e(o.target);
        if (r.is(".btn.btn-default")) {
            r.removeClass("mousedown")
        }
    });
    function r(e, o) {
        var t = e.getAttribute(o);
        if (t !== null)
            return true;
        if (e.parentElement == null) {
            return false
        }
        return r(e.parentElement, o)
    }
    if (/10\.0/.test(window.navigator.userAgent) || /11\.0/.test(window.navigator.userAgent) || /9\.0/.test(window.navigator.userAgent)) {
    } else {
        o.on("click", function(o) {
            if (r(o.target, "click-document-pre"))
                return;
            if (r(o.target, "click-document-hide"))
                return;
            e("[click-document-hide]").hide()
        })
    }
    e(".c-i.closebtn-new").live("mousemove", function() {
        var o = e(this);
        o.removeClass("closebtn-new").addClass("closebtn-hover")
    });
    e(".c-i.closebtn-hover").live("mouseout", function() {
        var o = e(this);
        o.removeClass("closebtn-hover").addClass("closebtn-new")
    });
    e(".c-i.tips_icon").live("mousemove", function() {
        var o = e(this);
        o.removeClass("tips_icon").addClass("tips_icon-hover")
    });
    e(".c-i.tips_icon-hover").live("mouseout", function() {
        var o = e(this);
        o.removeClass("tips_icon-hover").addClass("tips_icon")
    });
    e(".c-i.arrow-left").live("mousemove", function() {
        var o = e(this);
        o.removeClass("arrow-left").addClass("arrow-left-over")
    });
    e(".c-i.arrow-left-over").live("mouseout", function() {
        var o = e(this);
        o.removeClass("arrow-left-over").addClass("arrow-left")
    });
    e(".c-i.arrow-right").live("mousemove", function() {
        var o = e(this);
        o.removeClass("arrow-right").addClass("arrow-right-over")
    });
    e(".c-i.arrow-right-over").live("mouseout", function() {
        var o = e(this);
        o.removeClass("arrow-right-over").addClass("arrow-right")
    })
})($);